package com.quanyan.user.service;

import com.quanyan.user.model.db.TbMedal;
import com.quanyan.user.model.db.TbUserMedalRelation;
import com.quanyan.user.model.vo.response.RespUserMedal;
import com.quanyan.user.model.vo.response.RespUserMedalRule;

import java.util.List;

/**
 * Created by zhang on 16/7/12.
 */
public interface UserMedalService {

    /**
     * 用户勋章列表
     * @param currentUid
     * @param uid
     * @param type
     * @return
     */
    List<RespUserMedal> list(int currentUid, int uid, int type, int categoryId);

    /**
     * 获取勋章详情
     * @param uid
     * @param medalId
     * @return
     */
    RespUserMedalRule get(int uid, int medalId);

    /**
     * 获取用户勋章关联信息
     * @param uid
     * @return
     */
    List<TbUserMedalRelation> getUserMedalRelationList(int uid);

    /**
     * 获取勋章列表
     * @param medalType
     * @return
     */
    List<TbMedal> getMedalList(Integer medalType);

    /**
     * 插入用户勋章信息
     * @param userMedalRelation
     * @return
     */
    int insertUserMedalRelation(TbUserMedalRelation userMedalRelation);

    /**
     * 初始化用户勋章
     * @param uid
     * @return
     */
    int initUserMedalList(Integer uid);

    /**
     * 获取已获得勋章总数
     * @param uid
     * @return
     */
    int getUserObtainMedalCount(Integer uid);
}